1、nginx依赖于pcre库,要先安装pcre
1 | yum install pcre pcre-devel |
2、下载nginx
1 | wget http://nginx.org/download/nginx-1.10.2.tar.gz |
3、 解压安装包
1 | tar -zxvf nginx-1.10.2.tar.gz //解压安装包 |
4、编译安装
1 | ./configure --prefix=/usr/local/nginx // 指定安装路径到/usr/local的nginx目录下 |
5、启动
1 | ./nginx |
问题:不能绑定80端口, 80端口已经被占用
产生原因:有时是自己装了apache,nginx等,还有更多情况是操作系统自带了apache并作为服务启动,或者是阿里云的有个云盾,占用的也是这个端口
如何解决: 把占用80端口的软件或服务关闭即可,如下代码:
1 | netstat -ant //查看端口当前状态 |
问题: nginx: [emerg] getpwnam(“nginx”) failed
产生原因:系统不存在nginx用户
如何解决: 创建nginx用户,如下代码:
1 | useradd -s /sbin/nologin -M nginx |
6、开机自启动
如果是直接yum安装, 则下面命令就足够了
1 | systemctl enable nginx.service |
如果是编译安装,如下
1 | vi /lib/systemd/system/nginx.service |
内容如下
1 | [Unit] |
解释:
1 | [Unit]:服务的说明 |
保存退出。
1 | systemctl enable nginx.service |
7.其他命令
启动nginx服务
1 | systemctl start nginx.service |
设置开机自启动
1 | systemctl enable nginx.service |
停止开机自启动
1 | systemctl disable nginx.service |
查看服务当前状态
1 | systemctl status nginx.service |
重新启动服务
1 | systemctl restart nginx.service |
查看所有已启动的服务
1 | systemctl list-units --type=service |